/*
 * Utilitaire.cpp
 *
 *  Created on: 24 mars 2012
 *      Author: houcine
 */

#include "Utilitaire.h"
#include <iostream>
namespace std {

Utilitaire::Utilitaire() {
}

Utilitaire::Utilitaire(string mat,string marq,string coul,double prix,double chargeUtile,float longueur,float largeur,float hauteur ):Vehicule(mat,marq,coul,prix) {

	this->chargeUtile = chargeUtile;
	this->longueur = longueur;
	this->largeur = largeur;
	this->hauteur = hauteur;
}

void Utilitaire::afficher() {
	Vehicule::afficher();
	cout<<"Charge Utile: "<<chargeUtile<<" Longueur: "<<longueur<<" Largeur: "<<largeur<<" Hauteur: "<<hauteur<<endl;
}

ofstream& operator<<(ofstream& out, const Utilitaire& U)
		{
	Vehicule v;
			out<<v.getMatricule()<<v.getCouleur()<<v.getMarque()<<v.getPrixjour()<<U.chargeUtile<<"\t"<<U.longueur<<"\t"<<U.largeur<<"\t"<<U.hauteur;

			return out;
		}

ifstream& operator>>(ifstream& in, Utilitaire& U)
		{
	Vehicule v;
			in>>v.marque>>U.chargeUtile>>U.longueur>>U.largeur>>U.hauteur;

			return in;
		}


double Utilitaire::getChargeUtile() const {
	return chargeUtile;
}

void Utilitaire::setChargeUtile(double chargeUtile) {
	this->chargeUtile = chargeUtile;
}

float Utilitaire::getHauteur() const {
	return hauteur;
}

void Utilitaire::setHauteur(float hauteur) {
	this->hauteur = hauteur;
}

float Utilitaire::getLargeur() const {
	return largeur;
}

void Utilitaire::setLargeur(float largeur) {
	this->largeur = largeur;
}

float Utilitaire::getLongueur() const {
	return longueur;
}

void Utilitaire::setLongueur(float longueur) {
	this->longueur = longueur;}

Utilitaire::~Utilitaire() {
	// TODO Auto-generated destructor stub
}

} /* namespace std */
